package com.delio.server.contabilidad.servicios;


import com.delio.client.contabilidad.proveedores.Proveedor;
import com.delio.client.contabilidad.servicios.Servicio;
import com.delio.client.contabilidad.servicios.ServicioService;
import com.delio.client.produccion.articulos.Articulo;
import com.delio.client.util.MensajeData;
import com.delio.server.base.util.GxtComboBoxPaginate;
import com.delio.server.base.util.GxtGridPaginate;

import com.extjs.gxt.ui.client.data.BasePagingLoadConfig;
import com.extjs.gxt.ui.client.data.FilterPagingLoadConfig;
import com.extjs.gxt.ui.client.data.PagingLoadResult;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;

public class ServicioServiceImpl extends RemoteServiceServlet implements
		ServicioService {
	private static final long serialVersionUID = 1L;

	@Override
	public PagingLoadResult<Servicio> paginateServicio( FilterPagingLoadConfig config, String filter) {

		GxtGridPaginate paginate = new GxtGridPaginate();
		paginate.config = config;

		return Servicios.getPaginate(paginate, filter);
	}

	@Override
	public MensajeData save(Servicio ser) {
		MensajeData data = new MensajeData();
		data.guardado = true;

		if (!Servicios.save(ser)) {
			data.guardado = false;
			
		} else
			data.guardado_id = ser.getId();

		return data;
	}

	@Override
	public MensajeData delete(Integer id) {
		MensajeData data = new MensajeData();
		data.guardado = true;

		if (!Servicios.delete(id)) {
			data.guardado = false;
		
		}

		return data;
	}

	@Override
	public MensajeData deleteAll(String ids) {
		MensajeData data = new MensajeData();
		data.guardado = true;

		if (!Servicios.deleteAll(ids)) {
			data.guardado = false;
			
		}

		return data;
	}
	
 @SuppressWarnings("static-access")
public PagingLoadResult<Articulo> getPaginateComboArticulos(BasePagingLoadConfig config) {
	 	GxtComboBoxPaginate paginate = new GxtComboBoxPaginate();
		paginate.config =  config;
		return Servicios.getPaginateCombo(paginate);
 }

 @SuppressWarnings("static-access")
 public PagingLoadResult<Proveedor> getPaginateComboProveedores(BasePagingLoadConfig config) {
 	 	GxtComboBoxPaginate paginate = new GxtComboBoxPaginate();
 		paginate.config =  config;
 		return Servicios.getPaginateCombo2(paginate);
  }
}
